#pragma once
#include "../Entity.h"
class CAbilities : public CEntity
{
private:
	int m_nHealthCost;
	float m_fAbilityTimer;
	int m_nHitRequirement;
	unsigned int m_unRefCount;
	
protected:
	enum AbilityCode{AB_DASH, AB_SHIELD, AB_SPIN, AB_GP};
	AbilityCode m_eAbilityCode;

public:
	CAbilities(void);
	~CAbilities(void);
	int GetCode(void)const{return m_eAbilityCode;}
	void SetHealthCost(int nHealthCost){m_nHealthCost = nHealthCost;}
	void SetAbilityTimer(float fAbilityTimer){m_fAbilityTimer = fAbilityTimer;}
	void SetHitRequirement(int nHitRequirement){m_nHitRequirement = nHitRequirement;}
	int GetHealthCost(void)const{return m_nHealthCost;}
	float GetAbilityTimer(void)const{return m_fAbilityTimer;}
	int GetHitRequirement(void)const{return m_nHitRequirement;}
	virtual void Update(float fElapsedTime);
	virtual void Render(void);
	virtual void AddRef(void);
	virtual void Release(void);
};